<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  <title>tango.io.compress.Zip</title>
  <link href="./css/style.css" rel="stylesheet" type="text/css"/>
  <!-- <link href="./img/icon.png" rel="icon" type="image/png"/> -->
  <script type="text/javascript" src="./js/jquery.js"></script>
  <script type="text/javascript" src="./js/modules.js"></script>
  <script type="text/javascript" src="./js/quicksearch.js"></script>
  <script type="text/javascript" src="./js/navigation.js"></script>
  <!--<script type="text/javascript" src="./js/jquery.treeview.js"></script>-->
  <script type="text/javascript">
    var g_moduleFQN = "tango.io.compress.Zip";
  </script>
  
</head>
<body>
<div id="content">
  <h1><a href="./htmlsrc/tango.io.compress.Zip.html" class="symbol">tango.io.compress.Zip</a></h1>
  
<p class="sec_header">License:</p>BSD style: see <a href="http://www.dsource.org/projects/tango/wiki/LibraryLicense">license.txt</a>
<p class="sec_header">Version:</p>Initial release: December 2007
<p class="sec_header">Author:</p>Daniel Keep
<dl>
<dt class="decl">struct <a class="symbol _struct" name="LocalFileHeaderData" href="./htmlsrc/tango.io.compress.Zip.html#L68" kind="struct" beg="68" end="97">LocalFileHeaderData</a>; <span class="attrs">[<span class="prot">private</span>]</span> <a title="Permalink to this symbol" href="#LocalFileHeaderData" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L68">#</a></dt>
<dd class="ddef">
<div class="summary"></div>
</dd>
<dt class="decl">struct <a class="symbol _struct" name="FileHeaderData" href="./htmlsrc/tango.io.compress.Zip.html#L198" kind="struct" beg="198" end="256">FileHeaderData</a>; <span class="attrs">[<span class="prot">private</span>]</span> <a title="Permalink to this symbol" href="#FileHeaderData" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L198">#</a></dt>
<dd class="ddef">
<div class="summary"></div>
</dd>
<dt class="decl">struct <a class="symbol _struct" name="EndOfCDRecordData" href="./htmlsrc/tango.io.compress.Zip.html#L373" kind="struct" beg="373" end="401">EndOfCDRecordData</a>; <span class="attrs">[<span class="prot">private</span>]</span> <a title="Permalink to this symbol" href="#EndOfCDRecordData" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L373">#</a></dt>
<dd class="ddef">
<div class="summary"></div>
</dd>
<dt class="decl">enum <a class="symbol _enum" name="Method" href="./htmlsrc/tango.io.compress.Zip.html#L464" kind="enum" beg="464" end="475">Method</a>; <span class="attrs">[<span class="prot">public</span>]</span> <a title="Permalink to this symbol" href="#Method" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L464">#</a></dt>
<dd class="ddef">
<div class="summary">This enumeration denotes the kind of compression used on a file.</div>
<dl>
<dt class="decl"><a class="symbol _enummem" name="Method.Store" href="./htmlsrc/tango.io.compress.Zip.html#L467" kind="enummem" beg="467" end="467">Store</a> <a title="Permalink to this symbol" href="#Method.Store" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L467">#</a></dt>
<dd class="ddef">
<div class="summary">No compression should be used.</div></dd>
<dt class="decl"><a class="symbol _enummem" name="Method.Deflate" href="./htmlsrc/tango.io.compress.Zip.html#L469" kind="enummem" beg="469" end="469">Deflate</a> <a title="Permalink to this symbol" href="#Method.Deflate" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L469">#</a></dt>
<dd class="ddef">
<div class="summary">Deflate compression.</div></dd>
<dt class="decl"><a class="symbol _enummem" name="Method.Unsupported" href="./htmlsrc/tango.io.compress.Zip.html#L474" kind="enummem" beg="474" end="474">Unsupported</a> <a title="Permalink to this symbol" href="#Method.Unsupported" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L474">#</a></dt>
<dd class="ddef">
<div class="summary">This is a special value used for unsupported or unrecognised
 compression methods.  This value is only used internally.</div></dd></dl></dd>
<dt class="decl">interface <a class="symbol _interface" name="ZipReader" href="./htmlsrc/tango.io.compress.Zip.html#L526" kind="interface" beg="526" end="534">ZipReader</a>; <a title="Permalink to this symbol" href="#ZipReader" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L526">#</a></dt>
<dd class="ddef">
<div class="summary"></div>
</dd>
<dt class="decl">interface <a class="symbol _interface" name="ZipWriter" href="./htmlsrc/tango.io.compress.Zip.html#L541" kind="interface" beg="541" end="552">ZipWriter</a>; <a title="Permalink to this symbol" href="#ZipWriter" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L541">#</a></dt>
<dd class="ddef">
<div class="summary"></div>
</dd>
<dt class="decl">class <a class="symbol _class" name="ZipBlockReader" href="./htmlsrc/tango.io.compress.Zip.html#L585" kind="class" beg="585" end="975">ZipBlockReader</a> : ZipReader; <a title="Permalink to this symbol" href="#ZipBlockReader" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L585">#</a></dt>
<dd class="ddef">
<div class="summary">The ZipBlockReader class is used to parse a Zip archive.  It exposes the
 contents of the archive via an iteration interface.  For instance, to loop
 over all files in an archive, one can use either</div>
<pre class="d_code">
<span class="k">foreach</span>( <span class="i">entry</span> ; <span class="i">reader</span> )
    ...
</pre>
<p class="bl"/>
 Or
<p class="bl"/>
 <pre class="d_code">
<span class="k">while</span>( <span class="i">reader</span>.<span class="i">more</span> )
{
    <span class="k">auto</span> <span class="i">entry</span> = <span class="i">reader</span>.<span class="i">get</span>;
    ...
}
</pre>
<p class="bl"/>
 See the ZipEntry class for more information on the contents of entries.
<p class="bl"/>
 Note that this class can only be used with input sources which can be
 freely seeked.  Also note that you may open a ZipEntry instance produced by
 this reader at any time until the ZipReader that created it is closed.
<dl>
<dt class="decl"><a class="symbol _ctor" name="ZipBlockReader.this" href="./htmlsrc/tango.io.compress.Zip.html#L591" kind="ctor" beg="591" end="594">this</a><span class="params">(PathView <em>path</em>)</span>; <span class="attrs">[<span class="stc">deprecated</span>]</span> <a title="Permalink to this symbol" href="#ZipBlockReader.this" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L591">#</a></dt>
<dt class="decl"><a class="symbol _ctor" name="ZipBlockReader.this:2" href="./htmlsrc/tango.io.compress.Zip.html#L597" kind="ctor" beg="597" end="601">this</a><span class="params">(char[] <em>path</em>)</span>; <a title="Permalink to this symbol" href="#ZipBlockReader.this:2" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L597">#</a></dt>
<dd class="ddef">
<div class="summary">Creates a ZipBlockReader using the specified file on the local
 filesystem.</div></dd>
<dt class="decl"><a class="symbol _ctor" name="ZipBlockReader.this:3" href="./htmlsrc/tango.io.compress.Zip.html#L625" kind="ctor" beg="625" end="634">this</a><span class="params">(InputStream <em>source</em>)</span>; <a title="Permalink to this symbol" href="#ZipBlockReader.this:3" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L625">#</a></dt>
<dd class="ddef">
<div class="summary">Creates a ZipBlockReader using the provided InputStream.  Please note
 that this InputStream must also implement the IConduit.Seek interface.</div></dd>
<dt class="decl">void <a class="symbol _function" name="ZipBlockReader.close" href="./htmlsrc/tango.io.compress.Zip.html#L643" kind="function" beg="643" end="653">close</a><span class="params">()</span>; <a title="Permalink to this symbol" href="#ZipBlockReader.close" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L643">#</a></dt>
<dd class="ddef">
<div class="summary">Closes the reader, and releases all resources.  After this operation,
 all ZipEntry instances created by this ZipReader are invalid and should
 not be used.</div></dd>
<dt class="decl">bool <a class="symbol _function" name="ZipBlockReader.more" href="./htmlsrc/tango.io.compress.Zip.html#L661" kind="function" beg="661" end="681">more</a><span class="params">()</span>; <a title="Permalink to this symbol" href="#ZipBlockReader.more" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L661">#</a></dt>
<dd class="ddef">
<div class="summary">Returns true if and only if there are additional files in the archive
 which have not been read via the get method.  This returns true before
 the first call to get (assuming the opened archive is non-empty), and
 false after the last file has been accessed.</div></dd>
<dt class="decl">ZipEntry <a class="symbol _function" name="ZipBlockReader.get" href="./htmlsrc/tango.io.compress.Zip.html#L691" kind="function" beg="691" end="697">get</a><span class="params">()</span>; <a title="Permalink to this symbol" href="#ZipBlockReader.get" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L691">#</a></dt>
<dt class="decl">ZipEntry <a class="symbol _function" name="ZipBlockReader.get:2" href="./htmlsrc/tango.io.compress.Zip.html#L700" kind="function" beg="700" end="709">get</a><span class="params">(ZipEntry <em>reuse</em>)</span>; <a title="Permalink to this symbol" href="#ZipBlockReader.get:2" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L700">#</a></dt>
<dd class="ddef">
<div class="summary">Retrieves the next file from the archive.  Note that although this does
 perform IO operations, it will not read the contents of the file.</div>
The optional reuse argument can be used to instruct the reader to reuse
 an existing ZipEntry instance.  If passed a null reference, it will
 create a new ZipEntry instance.</dd>
<dt class="decl">int <a class="symbol _function" name="ZipBlockReader.opApply" href="./htmlsrc/tango.io.compress.Zip.html#L717" kind="function" beg="717" end="735">opApply</a><span class="params">(int delegate(ref ZipEntry) <em>dg</em>)</span>; <a title="Permalink to this symbol" href="#ZipBlockReader.opApply" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L717">#</a></dt>
<dd class="ddef">
<div class="summary">This is used to iterate over the contents of an archive using a foreach
 loop.  Please note that the iteration will reuse the ZipEntry instance
 passed to your loop.  If you wish to keep the instance and re-use it
 later, you <b>must</b> use the dup member to create a copy.</div></dd></dl></dd>
<dt class="decl">class <a class="symbol _class" name="ZipBlockWriter" href="./htmlsrc/tango.io.compress.Zip.html#L990" kind="class" beg="990" end="1394">ZipBlockWriter</a> : ZipWriter; <a title="Permalink to this symbol" href="#ZipBlockWriter" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L990">#</a></dt>
<dd class="ddef">
<div class="summary">The ZipBlockWriter class is used to create a Zip archive.  It uses a
 writing iterator interface.</div>
Note that this class can only be used with output streams which can be
 freely seeked.
<dl>
<dt class="decl"><a class="symbol _ctor" name="ZipBlockWriter.this" href="./htmlsrc/tango.io.compress.Zip.html#L996" kind="ctor" beg="996" end="999">this</a><span class="params">(FilePath <em>path</em>)</span>; <span class="attrs">[<span class="stc">deprecated</span>]</span> <a title="Permalink to this symbol" href="#ZipBlockWriter.this" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L996">#</a></dt>
<dt class="decl"><a class="symbol _ctor" name="ZipBlockWriter.this:2" href="./htmlsrc/tango.io.compress.Zip.html#L1002" kind="ctor" beg="1002" end="1006">this</a><span class="params">(char[] <em>path</em>)</span>; <a title="Permalink to this symbol" href="#ZipBlockWriter.this:2" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L1002">#</a></dt>
<dd class="ddef">
<div class="summary">Creates a ZipBlockWriter using the specified file on the local
 filesystem.</div></dd>
<dt class="decl"><a class="symbol _ctor" name="ZipBlockWriter.this:3" href="./htmlsrc/tango.io.compress.Zip.html#L1012" kind="ctor" beg="1012" end="1025">this</a><span class="params">(OutputStream <em>output</em>)</span>; <a title="Permalink to this symbol" href="#ZipBlockWriter.this:3" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L1012">#</a></dt>
<dd class="ddef">
<div class="summary">Creates a ZipBlockWriter using the provided OutputStream.  Please note
 that this OutputStream must also implement the IConduit.Seek interface.</div></dd>
<dt class="decl">void <a class="symbol _function" name="ZipBlockWriter.finish" href="./htmlsrc/tango.io.compress.Zip.html#L1031" kind="function" beg="1031" end="1039">finish</a><span class="params">()</span>; <a title="Permalink to this symbol" href="#ZipBlockWriter.finish" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L1031">#</a></dt>
<dd class="ddef">
<div class="summary">Finalises the archive, writes out the central directory, and closes the
 output stream.</div></dd>
<dt class="decl">void <a class="symbol _function" name="ZipBlockWriter.putFile" href="./htmlsrc/tango.io.compress.Zip.html#L1044" kind="function" beg="1044" end="1047">putFile</a><span class="params">(ZipEntryInfo <em>info</em>, PathView <em>path</em>)</span>; <span class="attrs">[<span class="stc">deprecated</span>]</span> <a title="Permalink to this symbol" href="#ZipBlockWriter.putFile" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L1044">#</a></dt>
<dt class="decl">void <a class="symbol _function" name="ZipBlockWriter.putFile:2" href="./htmlsrc/tango.io.compress.Zip.html#L1050" kind="function" beg="1050" end="1055">putFile</a><span class="params">(ZipEntryInfo <em>info</em>, char[] <em>path</em>)</span>; <a title="Permalink to this symbol" href="#ZipBlockWriter.putFile:2" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L1050">#</a></dt>
<dd class="ddef">
<div class="summary">Adds a file from the local filesystem to the archive.</div></dd>
<dt class="decl">void <a class="symbol _function" name="ZipBlockWriter.putStream" href="./htmlsrc/tango.io.compress.Zip.html#L1060" kind="function" beg="1060" end="1063">putStream</a><span class="params">(ZipEntryInfo <em>info</em>, InputStream <em>source</em>)</span>; <a title="Permalink to this symbol" href="#ZipBlockWriter.putStream" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L1060">#</a></dt>
<dd class="ddef">
<div class="summary">Adds a file using the contents of the given InputStream to the archive.</div></dd>
<dt class="decl">void <a class="symbol _function" name="ZipBlockWriter.putEntry" href="./htmlsrc/tango.io.compress.Zip.html#L1070" kind="function" beg="1070" end="1073">putEntry</a><span class="params">(ZipEntryInfo <em>info</em>, ZipEntry <em>entry</em>)</span>; <a title="Permalink to this symbol" href="#ZipBlockWriter.putEntry" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L1070">#</a></dt>
<dd class="ddef">
<div class="summary">Transfers a file from another archive into this archive.  Note that
 this method will not perform any compression: whatever compression was
 applied to the file originally will be preserved.</div></dd>
<dt class="decl">void <a class="symbol _function" name="ZipBlockWriter.putData" href="./htmlsrc/tango.io.compress.Zip.html#L1078" kind="function" beg="1078" end="1084">putData</a><span class="params">(ZipEntryInfo <em>info</em>, void[] <em>data</em>)</span>; <a title="Permalink to this symbol" href="#ZipBlockWriter.putData" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L1078">#</a></dt>
<dd class="ddef">
<div class="summary">Adds a file using the contents of the given array to the archive.</div></dd>
<dt class="decl">Method <a class="symbol _function" name="ZipBlockWriter.method" href="./htmlsrc/tango.io.compress.Zip.html#L1090" kind="function" beg="1090" end="1090">method</a><span class="params">()</span>; <a title="Permalink to this symbol" href="#ZipBlockWriter.method" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L1090">#</a></dt>
<dt class="decl">Method <a class="symbol _function" name="ZipBlockWriter.method:2" href="./htmlsrc/tango.io.compress.Zip.html#L1091" kind="function" beg="1091" end="1091">method</a><span class="params">(Method <em>v</em>)</span>; <a title="Permalink to this symbol" href="#ZipBlockWriter.method:2" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L1091">#</a></dt>
<dd class="ddef">
<div class="summary">This property allows you to control what compression method should be
 used for files being added to the archive.</div></dd></dl></dd>
<dt class="decl">class <a class="symbol _class" name="ZipEntry" href="./htmlsrc/tango.io.compress.Zip.html#L1406" kind="class" beg="1406" end="1535">ZipEntry</a>; <a title="Permalink to this symbol" href="#ZipEntry" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L1406">#</a></dt>
<dd class="ddef">
<div class="summary">This class is used to represent a single entry in an archive.
 Specifically, it combines meta-data about the file (see the info field)
 along with the two basic operations on an entry: open and verify.</div>
<dl>
<dt class="decl">ZipEntryInfo <a class="symbol _variable" name="ZipEntry.info" href="./htmlsrc/tango.io.compress.Zip.html#L1412" kind="variable" beg="1412" end="1412">info</a>; <a title="Permalink to this symbol" href="#ZipEntry.info" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L1412">#</a></dt>
<dd class="ddef">
<div class="summary">Header information on the file.  See the ZipEntryInfo structure for
 more information.</div></dd>
<dt class="decl">uint <a class="symbol _function" name="ZipEntry.size" href="./htmlsrc/tango.io.compress.Zip.html#L1417" kind="function" beg="1417" end="1420">size</a><span class="params">()</span>; <a title="Permalink to this symbol" href="#ZipEntry.size" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L1417">#</a></dt>
<dd class="ddef">
<div class="summary">Size (in bytes) of the file's uncompressed contents.</div></dd>
<dt class="decl">InputStream <a class="symbol _function" name="ZipEntry.open" href="./htmlsrc/tango.io.compress.Zip.html#L1438" kind="function" beg="1438" end="1447">open</a><span class="params">()</span>; <a title="Permalink to this symbol" href="#ZipEntry.open" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L1438">#</a></dt>
<dd class="ddef">
<div class="summary">Opens a stream for reading from the file.  The contents of this stream
 represent the decompressed contents of the file stored in the archive.</div>
You should not assume that the returned stream is seekable.
<p class="bl"/>
 Note that the returned stream may be safely closed without affecting
 the underlying archive stream.
<p class="bl"/>
 If the file has not yet been verified, then the stream will be checked
 as you read from it.  When the stream is either exhausted or closed,
 then the integrity of the file's data will be checked.  This means that
 if the file is corrupt, an exception will be thrown only after you have
 finished reading from the stream.  If you wish to make sure the data is
 valid before you read from the file, call the verify method.</dd>
<dt class="decl">void <a class="symbol _function" name="ZipEntry.verify" href="./htmlsrc/tango.io.compress.Zip.html#L1456" kind="function" beg="1456" end="1465">verify</a><span class="params">()</span>; <a title="Permalink to this symbol" href="#ZipEntry.verify" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L1456">#</a></dt>
<dd class="ddef">
<div class="summary">Verifies the contents of this file by computing the CRC32 checksum,
 and comparing it against the stored one.  Throws an exception if the
 checksums do not match.</div>
Not valid on streamed Zip archives.</dd>
<dt class="decl">ZipEntry <a class="symbol _function" name="ZipEntry.dup" href="./htmlsrc/tango.io.compress.Zip.html#L1470" kind="function" beg="1470" end="1473">dup</a><span class="params">()</span>; <a title="Permalink to this symbol" href="#ZipEntry.dup" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L1470">#</a></dt>
<dd class="ddef">
<div class="summary">Creates a new, independent copy of this instance.</div></dd></dl></dd>
<dt class="decl">struct <a class="symbol _struct" name="ZipEntryInfo" href="./htmlsrc/tango.io.compress.Zip.html#L1544" kind="struct" beg="1544" end="1553">ZipEntryInfo</a>; <a title="Permalink to this symbol" href="#ZipEntryInfo" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L1544">#</a></dt>
<dd class="ddef">
<div class="summary">This structure contains various pieces of meta-data on a file.  The
 contents of this structure may be safely mutated.</div>
This structure is also used to specify meta-data about a file when adding
 it to an archive.
<dl>
<dt class="decl">char[] <a class="symbol _variable" name="ZipEntryInfo.name" href="./htmlsrc/tango.io.compress.Zip.html#L1547" kind="variable" beg="1547" end="1547">name</a>; <a title="Permalink to this symbol" href="#ZipEntryInfo.name" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L1547">#</a></dt>
<dd class="ddef">
<div class="summary">Full path and file name of this file.</div></dd>
<dt class="decl">Time <a class="symbol _variable" name="ZipEntryInfo.modified" href="./htmlsrc/tango.io.compress.Zip.html#L1550" kind="variable" beg="1550" end="1550">modified</a>; <a title="Permalink to this symbol" href="#ZipEntryInfo.modified" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L1550">#</a></dt>
<dd class="ddef">
<div class="summary">Modification timestamp.  If this is left uninitialised when passed to
 a ZipWriter, it will be reset to the current system time.</div></dd>
<dt class="decl">char[] <a class="symbol _variable" name="ZipEntryInfo.comment" href="./htmlsrc/tango.io.compress.Zip.html#L1552" kind="variable" beg="1552" end="1552">comment</a>; <a title="Permalink to this symbol" href="#ZipEntryInfo.comment" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L1552">#</a></dt>
<dd class="ddef">
<div class="summary">Comment on the file.</div></dd></dl></dd>
<dt class="decl">class <a class="symbol _class" name="ZipException" href="./htmlsrc/tango.io.compress.Zip.html#L1566" kind="class" beg="1566" end="1640">ZipException</a> : Exception; <a title="Permalink to this symbol" href="#ZipException" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L1566">#</a></dt>
<dd class="ddef">
<div class="summary">This is the base class from which all exceptions generated by this module
 derive from.</div>
</dd>
<dt class="decl">class <a class="symbol _class" name="ZipChecksumException" href="./htmlsrc/tango.io.compress.Zip.html#L1646" kind="class" beg="1646" end="1655">ZipChecksumException</a> : ZipException; <a title="Permalink to this symbol" href="#ZipChecksumException" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L1646">#</a></dt>
<dd class="ddef">
<div class="summary">This exception is thrown if a ZipReader detects that a file's contents do
 not match the stored checksum.</div>
</dd>
<dt class="decl">class <a class="symbol _class" name="ZipExhaustedException" href="./htmlsrc/tango.io.compress.Zip.html#L1661" kind="class" beg="1661" end="1667">ZipExhaustedException</a> : ZipException; <a title="Permalink to this symbol" href="#ZipExhaustedException" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L1661">#</a></dt>
<dd class="ddef">
<div class="summary">This exception is thrown if you call get reader method when there are no
 more files in the archive.</div>
</dd>
<dt class="decl">class <a class="symbol _class" name="ZipNotSupportedException" href="./htmlsrc/tango.io.compress.Zip.html#L1673" kind="class" beg="1673" end="1741">ZipNotSupportedException</a> : ZipException; <a title="Permalink to this symbol" href="#ZipNotSupportedException" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L1673">#</a></dt>
<dd class="ddef">
<div class="summary">This exception is thrown if you attempt to read an archive that uses
 features not supported by the reader.</div>
</dd>
<dt class="decl">void <a class="symbol _function" name="createArchive" href="./htmlsrc/tango.io.compress.Zip.html#L1748" kind="function" beg="1748" end="1757">createArchive</a><span class="params">(char[] <em>archive</em>, Method <em>method</em>, char[][] <em>files</em>...)</span>; <a title="Permalink to this symbol" href="#createArchive" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L1748">#</a></dt>
<dd class="ddef">
<div class="summary"></div></dd>
<dt class="decl">class <a class="symbol _class" name="ZipEntryVerifier" href="./htmlsrc/tango.io.compress.Zip.html#L1818" kind="class" beg="1818" end="1885">ZipEntryVerifier</a> : InputStream; <span class="attrs">[<span class="prot">private</span>]</span> <a title="Permalink to this symbol" href="#ZipEntryVerifier" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L1818">#</a></dt>
<dd class="ddef">
<div class="summary"></div>
</dd>
<dt class="decl">void <a class="symbol _function" name="readExact" href="./htmlsrc/tango.io.compress.Zip.html#L1896" kind="function" beg="1896" end="1907">readExact</a><span class="params">(InputStream <em>s</em>, void[] <em>dst</em>)</span>; <span class="attrs">[<span class="prot">private</span>]</span> <a title="Permalink to this symbol" href="#readExact" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L1896">#</a></dt>
<dd class="ddef">
<div class="summary"></div></dd>
<dt class="decl">void <a class="symbol _function" name="swapAll" href="./htmlsrc/tango.io.compress.Zip.html#L1934" kind="function" beg="1934" end="1946">swapAll</a><span class="tparams">(T)</span><span class="params">(inout T <em>data</em>)</span>; <span class="attrs">[<span class="prot">private</span>]</span> <a title="Permalink to this symbol" href="#swapAll" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L1934">#</a></dt>
<dd class="ddef">
<div class="summary"></div></dd>
<dt class="decl">char[][] <a class="symbol _variable" name="cp437_to_utf8_map_low" href="./htmlsrc/tango.io.compress.Zip.html#L1970" kind="variable" beg="1970" end="1980">cp437_to_utf8_map_low</a>; <span class="attrs">[<span class="prot">private</span>, <span class="stc">const</span>]</span> <a title="Permalink to this symbol" href="#cp437_to_utf8_map_low" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L1970">#</a></dt>
<dd class="ddef">
<div class="summary"></div></dd>
<dt class="decl">void <a class="symbol _function" name="dosToTime" href="./htmlsrc/tango.io.compress.Zip.html#L2244" kind="function" beg="2244" end="2263">dosToTime</a><span class="params">(ushort <em>dostime</em>, ushort <em>dosdate</em>, out Time <em>time</em>)</span>; <span class="attrs">[<span class="prot">private</span>]</span> <a title="Permalink to this symbol" href="#dosToTime" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L2244">#</a></dt>
<dd class="ddef">
<div class="summary"></div></dd>
<dt class="decl">class <a class="symbol _class" name="CounterInput" href="./htmlsrc/tango.io.compress.Zip.html#L2323" kind="class" beg="2323" end="2372">CounterInput</a> : InputStream; <span class="attrs">[<span class="prot">private</span>]</span> <a title="Permalink to this symbol" href="#CounterInput" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L2323">#</a></dt>
<dt class="decl">class <a class="symbol _class" name="CounterOutput" href="./htmlsrc/tango.io.compress.Zip.html#L2375" kind="class" beg="2375" end="2425">CounterOutput</a> : OutputStream; <span class="attrs">[<span class="prot">private</span>]</span> <a title="Permalink to this symbol" href="#CounterOutput" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L2375">#</a></dt>
<dd class="ddef">
<p class="sec_header">Copyright:</p>Copyright © 2007 Daniel Keep.  All rights reserved.
<p class="sec_header">License:</p>BSD style: see <a href="http://www.dsource.org/projects/tango/wiki/LibraryLicense">license.txt</a>
<p class="sec_header">Version:</p>Prerelease
<p class="sec_header">Author:</p>Daniel Keep
<p class="bl"/>

<p class="bl"/>
 The counter stream classes are used to keep track of how many bytes flow
 through a stream.
<p class="bl"/>
 To use them, simply wrap it around an existing stream.  The number of bytes
 that have flowed through the wrapped stream may be accessed using the
 count member.
<dl>
<dt class="decl"><a class="symbol _ctor" name="CounterInput.this" href="./htmlsrc/tango.io.compress.Zip.html#L2326" kind="ctor" beg="2326" end="2334">this</a><span class="params">(InputStream <em>input</em>)</span>; <a title="Permalink to this symbol" href="#CounterInput.this" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L2326">#</a></dt>
<dd class="ddef"></dd>
<dt class="decl">long <a class="symbol _function" name="CounterInput.count" href="./htmlsrc/tango.io.compress.Zip.html#L2367" kind="function" beg="2367" end="2367">count</a><span class="params">()</span>; <a title="Permalink to this symbol" href="#CounterInput.count" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L2367">#</a></dt>
<dd class="ddef"></dd></dl></dd>
<dt class="decl">class <a class="symbol _class" name="SliceSeekInputStream" href="./htmlsrc/tango.io.compress.Zip.html#L2451" kind="class" beg="2451" end="2560">SliceSeekInputStream</a> : InputStream, IConduit.Seek; <span class="attrs">[<span class="prot">private</span>]</span> <a title="Permalink to this symbol" href="#SliceSeekInputStream" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L2451">#</a></dt>
<dd class="ddef">
<p class="sec_header">Copyright:</p>Copyright © 2007 Daniel Keep.  All rights reserved.
<p class="sec_header">License:</p>BSD style: see <a href="http://www.dsource.org/projects/tango/wiki/LibraryLicense">license.txt</a>
<p class="sec_header">Version:</p>Prerelease
<p class="sec_header">Author:</p>Daniel Keep
<p class="bl"/>

<p class="bl"/>
 This stream can be used to provide stream-based access to a subset of
 another stream.  It is akin to slicing an array.
<p class="bl"/>
 This stream fully supports seeking, and as such requires that the
 underlying stream also support seeking.
<dl>
<dt class="decl"><a class="symbol _ctor" name="SliceSeekInputStream.this" href="./htmlsrc/tango.io.compress.Zip.html#L2459" kind="ctor" beg="2459" end="2473">this</a><span class="params">(InputStream <em>source</em>, long <em>begin</em>, long <em>length</em>)</span>; <a title="Permalink to this symbol" href="#SliceSeekInputStream.this" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L2459">#</a></dt>
<dd class="ddef">
<div class="summary">Create a new slice stream from the given source, covering the content
 starting at position begin, for length bytes.</div></dd></dl></dd>
<dt class="decl">class <a class="symbol _class" name="SliceInputStream" href="./htmlsrc/tango.io.compress.Zip.html#L2566" kind="class" beg="2566" end="2634">SliceInputStream</a> : InputStream; <span class="attrs">[<span class="prot">private</span>]</span> <a title="Permalink to this symbol" href="#SliceInputStream" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L2566">#</a></dt>
<dd class="ddef">
<div class="summary">This stream can be used to provide stream-based access to a subset of
 another stream.  It is akin to slicing an array.</div>
<dl>
<dt class="decl"><a class="symbol _ctor" name="SliceInputStream.this" href="./htmlsrc/tango.io.compress.Zip.html#L2572" kind="ctor" beg="2572" end="2582">this</a><span class="params">(InputStream <em>source</em>, long <em>length</em>)</span>; <a title="Permalink to this symbol" href="#SliceInputStream.this" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L2572">#</a></dt>
<dd class="ddef">
<div class="summary">Create a new slice stream from the given source, covering the content
 starting at the current seek position for length bytes.</div></dd></dl></dd>
<dt class="decl">class <a class="symbol _class" name="SliceSeekOutputStream" href="./htmlsrc/tango.io.compress.Zip.html#L2643" kind="class" beg="2643" end="2753">SliceSeekOutputStream</a> : OutputStream, IConduit.Seek; <span class="attrs">[<span class="prot">private</span>]</span> <a title="Permalink to this symbol" href="#SliceSeekOutputStream" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L2643">#</a></dt>
<dd class="ddef">
<div class="summary">This stream can be used to provide stream-based access to a subset of
 another stream.  It is akin to slicing an array.</div>
This stream fully supports seeking, and as such requires that the
 underlying stream also support seeking.
<dl>
<dt class="decl"><a class="symbol _ctor" name="SliceSeekOutputStream.this" href="./htmlsrc/tango.io.compress.Zip.html#L2651" kind="ctor" beg="2651" end="2664">this</a><span class="params">(OutputStream <em>source</em>, long <em>begin</em>, long <em>length</em>)</span>; <a title="Permalink to this symbol" href="#SliceSeekOutputStream.this" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L2651">#</a></dt>
<dd class="ddef">
<div class="summary">Create a new slice stream from the given source, covering the content
 starting at position begin, for length bytes.</div></dd></dl></dd>
<dt class="decl">class <a class="symbol _class" name="WrapSeekInputStream" href="./htmlsrc/tango.io.compress.Zip.html#L2780" kind="class" beg="2780" end="2862">WrapSeekInputStream</a> : InputStream, IConduit.Seek; <span class="attrs">[<span class="prot">private</span>]</span> <a title="Permalink to this symbol" href="#WrapSeekInputStream" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L2780">#</a></dt>
<dd class="ddef">
<p class="sec_header">Copyright:</p>Copyright © 2007 Daniel Keep.  All rights reserved.
<p class="sec_header">License:</p>BSD style: see <a href="http://www.dsource.org/projects/tango/wiki/LibraryLicense">license.txt</a>
<p class="sec_header">Version:</p>Prerelease
<p class="sec_header">Author:</p>Daniel Keep
<p class="bl"/>

<p class="bl"/>
 This stream can be used to provide access to another stream.
 Its distinguishing feature is that users cannot close the underlying
 stream.
<p class="bl"/>
 This stream fully supports seeking, and as such requires that the
 underlying stream also support seeking.
<dl>
<dt class="decl"><a class="symbol _ctor" name="WrapSeekInputStream.this" href="./htmlsrc/tango.io.compress.Zip.html#L2787" kind="ctor" beg="2787" end="2798">this</a><span class="params">(InputStream <em>source</em>)</span>; <a title="Permalink to this symbol" href="#WrapSeekInputStream.this" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L2787">#</a></dt>
<dt class="decl"><a class="symbol _ctor" name="WrapSeekInputStream.this:2" href="./htmlsrc/tango.io.compress.Zip.html#L2801" kind="ctor" beg="2801" end="2810">this</a><span class="params">(InputStream <em>source</em>, long <em>position</em>)</span>; <a title="Permalink to this symbol" href="#WrapSeekInputStream.this:2" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L2801">#</a></dt>
<dd class="ddef">
<div class="summary">Create a new wrap stream from the given source.</div></dd></dl></dd>
<dt class="decl">class <a class="symbol _class" name="WrapSeekOutputStream" href="./htmlsrc/tango.io.compress.Zip.html#L2872" kind="class" beg="2872" end="2953">WrapSeekOutputStream</a> : OutputStream, IConduit.Seek; <span class="attrs">[<span class="prot">private</span>]</span> <a title="Permalink to this symbol" href="#WrapSeekOutputStream" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L2872">#</a></dt>
<dd class="ddef">
<div class="summary">This stream can be used to provide access to another stream.
 Its distinguishing feature is that the users cannot close the underlying
 stream.</div>
This stream fully supports seeking, and as such requires that the
 underlying stream also support seeking.
<dl>
<dt class="decl"><a class="symbol _ctor" name="WrapSeekOutputStream.this" href="./htmlsrc/tango.io.compress.Zip.html#L2879" kind="ctor" beg="2879" end="2889">this</a><span class="params">(OutputStream <em>source</em>)</span>; <a title="Permalink to this symbol" href="#WrapSeekOutputStream.this" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L2879">#</a></dt>
<dt class="decl"><a class="symbol _ctor" name="WrapSeekOutputStream.this:2" href="./htmlsrc/tango.io.compress.Zip.html#L2892" kind="ctor" beg="2892" end="2901">this</a><span class="params">(OutputStream <em>source</em>, long <em>position</em>)</span>; <a title="Permalink to this symbol" href="#WrapSeekOutputStream.this:2" class="symlink">¶</a><a title="Go to the HTML source file" class="srclink" href="./htmlsrc/tango.io.compress.Zip.html#L2892">#</a></dt>
<dd class="ddef">
<div class="summary">Create a new wrap stream from the given source.</div></dd></dl></dd></dl>
</div>
<div id="footer">
  <p>Copyright (c) 2007 Daniel Keep.  All rights reserved.</p>
  <p>Page generated by <a href="http://code.google.com/p/dil">dil</a> on Fri Dec 26 04:03:59 2008. Rendered by <a href="http://code.google.com/p/dil/wiki/Kandil">kandil</a>.</p>
</div>
</body>
</html>